package com.lianniu.mgr.baseService.area.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import com.lianniu.mgr.baseService.area.model.AdminAreaVo;




/**
 * @ClassName：IAdminAreaMapperDao
 * @Description:行政区域管理Dao

 * @Since: 2016-03-23
 * @Version:1.0
 */
public interface IAdminAreaMapperDao {
  /**
   *
   * @Description：递归获取所有行政区域（为树做数据基础）
   * @Param:
   * @Return:List<AdminAreaVo>
    
   * @Date:2016-03-23
   */
  List<AdminAreaVo> getAllArea();
  /**
   *
   * @Description：根据区域ID获取他父级的区域名称（做展示数据基础）
   * @Param:BigDecimal areaId
   * @Return:List<AdminAreaVo>
    
   * @Date:2016-03-23
   */
  AdminAreaVo getParentAreaByAreaId(String areaId);
  /**
   *
   * @Description：根据区域ID来获取此区域的信息
   * @Param:BigDecimal areaId
   * @Return:AdminAreaVo
   *  
   * @Date:2016-03-23
   */
  AdminAreaVo getAreaInfoByAreaId(String areaId);
  /**
   *
   * @Description：新增区域
   * @Param:AdminAreaVo
   * @Return:int
   *  
   * @Date:2016-03-23
   */
  int addAreaInfo(AdminAreaVo asAreaInfoVo);
  /**
   *
   * @Description:编辑区域
   * @Param:AdminAreaVo
   * @Return:int
 
   * @Date:2016-03-23
   */
  int editAreaInfo(AdminAreaVo asAreaInfoVo);
  /**
   *
   * @Description：为编辑系统区域树做回显初始化数据
   * @Param:String adminAreaId(saas_sys_area表的admin_area_id)
   * @Return:List<AdminAreaVo>

   * @Date:2016-04-01
   */
  List<AdminAreaVo> getSelectedArea(@Param("adminAreaId") String adminAreaId);

  /**
   * @Description:根据区域level查询区域信息(adminArea)
   * @param level
   * @return BaseResult
   * @Author: alex
   * @Date:2016年4月4日
   * @Version 1.0.0
   */
  public List<AdminAreaVo> getByLevel(String level);
  /**
   * @Description:根据parentId查询区域信息(adminArea)
   * @param parentId
   * @return BaseResult
   * @Date:2016年4月4日
   * @Version 1.0.0
   */
  public List<AdminAreaVo> getByParentId(String parentId);

  /**
   * @Description:校验区域编码是否重复
   * @param areaCode
   * @return BaseResult
   * @Date:2016年4月10日
   * @Version 1.0.0
   */
  int isExistAreaCode(@Param(value = "id")String id, @Param(value = "areaCode")String areaCode);


}
